﻿using System;
using SharpSqlAnalyzer.nodes;
using SharpSqlAnalyzer.nodes.hive;

namespace SharpSqlAnalyzer.stmt.hive
{
	// Token: 0x020001BC RID: 444
	public class THiveExplain : TCustomSqlStatement
	{
		// Token: 0x170002B2 RID: 690
		// (get) Token: 0x06000ECA RID: 3786 RVA: 0x0030A818 File Offset: 0x00308A18
		// (set) Token: 0x06000ECB RID: 3787 RVA: 0x0030A820 File Offset: 0x00308A20
		public virtual TCustomSqlStatement Stmt
		{
			get
			{
				return this.stmt;
			}
			set
			{
				this.stmt = value;
			}
		}

		// Token: 0x06000ECC RID: 3788 RVA: 0x0030A829 File Offset: 0x00308A29
		public THiveExplain(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.ssthiveExplain;
		}

		// Token: 0x06000ECD RID: 3789 RVA: 0x0030A840 File Offset: 0x00308A40
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			if (this.rootNode == null)
			{
				return -1;
			}
			base.doParseStatement(psql);
			THiveExplainSqlNode thiveExplainSqlNode = (THiveExplainSqlNode)this.rootNode;
			thiveExplainSqlNode.StmtSqlNode.doParse(this, ESqlClause.unknown);
			this.stmt = thiveExplainSqlNode.StmtSqlNode.Stmt;
			return 0;
		}

		// Token: 0x06000ECE RID: 3790 RVA: 0x0030A88A File Offset: 0x00308A8A
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06000ECF RID: 3791 RVA: 0x0030A89A File Offset: 0x00308A9A
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			this.stmt.accept(v);
			v.postVisit(this);
		}

		// Token: 0x04001344 RID: 4932
		internal TCustomSqlStatement stmt;
	}
}
